package com.sayimo.maker.mall.goods.dao;

import java.util.List;

import com.sayimo.framework.exception.DaoException;
import com.sayimo.maker.mall.goods.vo.ShoppingCart;


/**
 * @Project: sayimoWeixinWeb
 * @ClassName: ShoppingCartInterfaceDao
 * @Description: 购物车Dao
 * @Author:	王瑞清
 * @Date:	日期：2015年8月26日  时间：下午3:29:02
 * @Version 1.0.0
 */
public interface ShoppingCartInterfaceDao {

	/**
	 * 
	 * @MethodName queryShoppingCartByCustomerId
	 * @Description 按ID查询购物车
	 * 
	 * @author chenpy
	 * @date 2016年1月5日 下午2:48:39
	 * @param 
	 * @return ShoppingCart
	 * @VERSION 1.0.0
	 */
	public ShoppingCart queryShoppingCartByCustomerId(Integer id) throws DaoException;
	
	/**
	 * 
	 * @MethodName insertShoppingCart
	 * @Description 添加购物车
	 * 
	 * @author chenpy
	 * @date 2016年1月5日 下午2:48:50
	 * @param 
	 * @return int
	 * @VERSION 1.0.0
	 */
	public int insertShoppingCart(ShoppingCart shoppingCart) throws DaoException;
	
	/**
	 * 
	 * @MethodName deleteShoppingCartById
	 * @Description 删除购物车
	 * 
	 * @author chenpy
	 * @date 2016年1月5日 下午2:49:23
	 * @param 
	 * @return int
	 * @VERSION 1.0.0
	 */
	public int batchDeleteShoppingCartByIds(List<Integer> ids) throws DaoException;
	
	/**
	 * 
	 * @MethodName updateShoppingCartById
	 * @Description 修改购物车
	 * 
	 * @author chenpy
	 * @date 2016年1月5日 下午2:49:53
	 * @param 
	 * @return int
	 * @VERSION 1.0.0
	 */
	public int updateShoppingCartById(ShoppingCart shoppingCart) throws DaoException;
	
	/**
	 * 
	 * @MethodName queryShoppingCartByGoodsId
	 * @Description 查询购物车中是否存在指定商品
	 * 
	 * @author chenpy
	 * @date 2016年1月5日 下午3:08:10
	 * @param 
	 * @return ShoppingCart
	 * @VERSION 1.0.0
	 */
	public ShoppingCart queryShoppingCartByGoodsId(ShoppingCart shoppingCart) throws DaoException;
	
	/**
	 * 
	* @Title: getShoppingCartList 
	* @Description: 购物车列表
	* @param customerId
	* @param providerId
	* @return
	* @throws DaoException
	* @return List<ShoppingCart>
	* @throws
	 */
	public List<ShoppingCart> getShoppingCartList(Integer customerId,Integer providerId,Integer mallType) throws DaoException;
	
	
	/**
	 * 
	* @Title: getShoppingCartGoodsProviders 
	* @Description: 获取用户 购物车商品 的供应商
	* @param customerId
	* @return
	* @throws DaoException
	* @return List
	* @throws
	 */
	public List getShoppingCartGoodsProviders(Integer customerId,Integer mallType)throws DaoException;
	
	/**
	 * 
	 * @MethodName deleteShoppingCartByCartId
	 * @Description 删除购物车商品
	 * 
	 * @author chenpy
	 * @date 2016年1月5日 下午3:21:47
	 * @param 
	 * @return int
	 * @VERSION 1.0.0
	 */
	
	public int deleteShoppingCartByCartId(Integer cartId) throws DaoException;
	
	/** 
	  * @package com.sayimo.school.mall.module.goods.dao
	  * @author chenpy
	  * @Title:  queryOverDueShoppingCartIds
	  * @Description: 查询时间超过半个月的购物车
	  * @param 
	  * @throws 
	  * @return String
	  * @date 2016年10月11日
	  */ 
	public String queryOverDueShoppingCartIds() throws DaoException;
	
	/** 
	  * @package com.sayimo.school.mall.module.goods.dao
	  * @author chenpy
	  * @Title:  dropShoppingCartNormsValuesByCartIds
	  * @Description: 删除时间超过半个月的购物车商品信息
	  * @param 
	  * @throws 
	  * @return int
	  * @date 2016年10月11日
	  */ 
	public int dropShoppingCartNormsValuesByCartIds(String cartIds) throws DaoException;
	
	/** 
	  * @package com.sayimo.school.mall.module.goods.dao
	  * @author chenpy
	  * @Title:  dropShoppingCartByIds
	  * @Description: 删除时间超过半个月的购物车商品信息
	  * @param 
	  * @throws 
	  * @return int
	  * @date 2016年10月11日
	  */ 
	public int dropShoppingCartByIds(String ids) throws DaoException;
}
